package com.iva.beam;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.swing.text.html.ListView;


import org.hibernate.jdbc.Expectations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.iva.model.TbPeriodoEvaluacion;
import com.iva.model.TbRotacionDesc;
import com.iva.model.VwAlumnosMateria;
import com.iva.model.VwAlumnosUsuario;
import com.iva.model.VwNotas;
import com.iva.model.VwRotacionesDesc;
import com.iva.model.VwRotacionesDescId;
import com.iva.service.findService;
import com.iva.service.tareasService;

@Component("menuSeccitonMateria")
public class MenuBeam implements Serializable{
					
	

	
	@Autowired
	findService find;
	
	@Autowired
	tareasService tareas;
	
	private String nombreMateria; 
	private String idMateriaSeccion;
	private String idperiodo;
	private List<TbPeriodoEvaluacion> listTbPeriodoEvaluacion;
	
	public List<TbPeriodoEvaluacion> getListTbPeriodoEvaluacion() {
		return tareas.listTbPeriodoEvaluacion(null);
	}
	public void setListTbPeriodoEvaluacion(
			List<TbPeriodoEvaluacion> listTbPeriodoEvaluacion) {
		this.listTbPeriodoEvaluacion = listTbPeriodoEvaluacion;
	}
	public String getIdMateriaSeccion() {
		return idMateriaSeccion;
	}
	public void setIdMateriaSeccion(String idMateriaSeccion) {
		this.idMateriaSeccion = idMateriaSeccion;
	}
	public String getIdperiodo() {
		return idperiodo;
	}
	public void setIdperiodo(String idperiodo) {
		this.idperiodo = idperiodo;
	}



private List<VwRotacionesDesc> rotacionesDesc;


	public List<VwRotacionesDesc> getRotacionesDesc() {
	return rotacionesDesc;
}
public void setRotacionesDesc(List<VwRotacionesDesc> rotacionesDesc) {
	this.rotacionesDesc = rotacionesDesc;
}



	private List<VwAlumnosUsuario> listCompaneros;
	public List<VwAlumnosUsuario> getListCompaneros() {
		return listCompaneros;
	}
	public void setListCompaneros(List<VwAlumnosUsuario> listCompaneros) {
		this.listCompaneros = listCompaneros;
	}
	public List<VwAlumnosUsuario> getListProfesores() {
		return listProfesores;
	}
	public void setListProfesores(List<VwAlumnosUsuario> listProfesores) {
		this.listProfesores = listProfesores;
	}
	public List<VwAlumnosUsuario> getListResponsables() {
		return listResponsables;
	}
	public void setListResponsables(List<VwAlumnosUsuario> listResponsables) {
		this.listResponsables = listResponsables;
	}



private String profesorRotacion;
public String getProfesorRotacion() {
	return profesorRotacion;
}
public void setProfesorRotacion(String profesorRotacion) {
	this.profesorRotacion = profesorRotacion;
}



private String descripcionRotacion;
public String getDescripcionRotacion() {
	return descripcionRotacion;
}
public void setDescripcionRotacion(String descripcionRotacion) {
	this.descripcionRotacion = descripcionRotacion;
}



private String horarioRotacion;
public String getHorarioRotacion() {
	return horarioRotacion;
}
public void setHorarioRotacion(String horarioRotacion) {
	this.horarioRotacion = horarioRotacion;
}



private String objetivosRotacion;




	public String getObjetivosRotacion() {
	return objetivosRotacion;
}
public void setObjetivosRotacion(String objetivosRotacion) {
	this.objetivosRotacion = objetivosRotacion;
}



	private List<VwAlumnosUsuario> listProfesores;
	private List<VwAlumnosUsuario> listResponsables;
	private static String nombreUsuario = "FF001";
	private static int sedeSeccion = 25;
	
	
	
	public String getNombreMateria() {
		return nombreMateria;
	}
	public void setNombreMateria(String nombreMateria) {
		this.nombreMateria = nombreMateria;
	}

	
	
	
	
	
	
	
	private List<VwNotas> notasActividades;
	

	public List<VwNotas> getNotasActividades() {
		return notasActividades;
	}
	public void setNotasActividades(List<VwNotas> notasActividades) {
		this.notasActividades = notasActividades;
	}

	private List<VwAlumnosMateria> materiasAlumno;
	
	

public List<VwAlumnosMateria> getMateriasAlumno() {
		String query = "FF001";
		return find.listVwAlumnosMateria(query);
	}
	public void setMateriasAlumno(List<VwAlumnosMateria> materiasAlumno) {
		this.materiasAlumno = materiasAlumno;
	}
	public void getContentNotas(VwAlumnosMateria obj){
		System.out.println("id de materia " + obj.getId().getNombreMateria());
		this.profesorRotacion = null;
		this.descripcionRotacion = null;
		this.horarioRotacion = null;
		this.objetivosRotacion = null;
		
		String sql = " where id.codigoAlumno='"+obj.getId().getCodigoAlumno()+"'";
		this.setNotasActividades(tareas.listVwNotas(sql));
		
		
		String sql2 = " where id.idSedeSeccionHasMateria =" + obj.getId().getIdSedeSeccionHasMateria();
		this.setRotacionesDesc(find.listRotacionesDesc(sql2));
		
		if(this.rotacionesDesc.size() != 0){
			VwRotacionesDesc rt = rotacionesDesc.get(0);
			this.profesorRotacion = rt.getId().getNombreCompleto();
			this.descripcionRotacion = rt.getId().getDescripcion();
			this.horarioRotacion = rt.getId().getHorario();
			this.objetivosRotacion = rt.getId().getObjetivos();
		}
		
		this.nombreMateria = obj.getId().getNombreMateria();
	
		//return "dialog:/materiaDes?id=Test";
		
	}
	
	
	
	
	public String goSendMail(){
		System.out.println("entra al metodo");
		return "dialog:/sendMail";
	}
	
	
	public String goAmistades(){
		String sqlAmigos=" where id.idSedeHasSeccion ="+sedeSeccion + " and id.codigoTipo = '1' and id.nombreUsuario <>'"+nombreUsuario+"'";
		String sqlProfesores = " where id.idSedeHasSeccion ="+sedeSeccion+ " and id.codigoTipo='3'";		
		String sqlResponsable = " where id.idSedeHasSeccion ="+sedeSeccion+ " and id.codigoTipo='2'";
		this.listCompaneros = find.listVwAmistades(sqlAmigos);
		this.listProfesores = find.listVwAmistades(sqlProfesores);
		this.listResponsables = find.listVwAmistades(sqlResponsable);		
		return "dialog:amistades";
	}
	
	
	
	public void searchResults(){
		System.out.println("id materia "+ idMateriaSeccion);
		System.out.println("id periodo "+idperiodo);
	}
	
}
 